#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<windows.h>
#include<stdlib.h>
#include<assert.h>
char* my_strstr(char* str1, char* str2) {
	assert(str1 && str2);
	char* p = str1;
	while (*p) {
		char* start = p;
		char* p2 = str2;
		while (*p2 && *start == *p2) {
			start++;
			p2++;
		}
		if (*p2 == '\0')return p;
		p++;
	}
	return NULL;

}
int main() {
	char arr[20] = "abbbcdef";
	char str[10] = "bbc";
	printf("%s", my_strstr(arr, str));
	return 0;
}
//char* my_strcat(char* str1, const char* str2) {
//	assert(str1 && str2);
//	char* start = str1;
//	while (*str1)str1++;
//	while (*str1++ = *str2++);
//	return start;
//}
//
//
//int main() {
//	char arr[20] = "abcd";
//	char str[20] = "efg";
//	printf("%s", my_strcat(arr, str));
//
//	return 0;
//}
//int my_strcmp(const char* str1, const char* str2) {
//	while (*str1 && *str2 &&*str1 == *str2) {
//		if (*str1 == '\0')return 0;
//		str1++;
//		str2++;
//	}
//	if (*str1 > *str2)return 1;
//	else if (*str1 < *str2)return -1;
//}
//
//int main() {
//	char str1[20] = "abcdef";
//	char str2[20] = "abcdef";
//	int ret=my_strcmp(str1, str2);
//	printf("%d", ret);
//
//	return 0;
//}
//char* my_strcpy(char* str1, const char* str2) {
//	char* ret = str1;
//	while (*str1++ = *str2++);
//	return ret;
//}
//int main() {
//	char arr[20] = "abcdef";
//	char str[20] = "abc";
//	my_strcpy(arr, str);
//	printf("%s", arr);
//
//	return 0;
//}



//int my_strlen(const char* arr) {
//    assert(arr!=NULL);
//    char* start = arr;
//    while (*arr)arr++;
//    return arr - start;
//    /*int count = 0;
//    while (*arr != '\0') {
//        arr++;
//        count++;
//    }
//    return count;*/
//}
//int main() {
//    char arr[20] =  "abcdef" ;
//    int ret = my_strlen(arr);
//    printf("%d\n", ret);
//    printf("%s", arr);
//    return 0;
//}